#!/bin/bash

#Se chequean los parametros
if [ $# -ne "2" ]
then
	echo "USO: ${0} <Host> <IP_servidor_simulacion>"
	exit 0
fi

#La IP de la maquina con la topologia
IP_DST=${2}
NOMBRE_CLIENTE=${1}

# ATENCION: si se cambia el puerto aca, hay que cambiar el puerto en teardownCliente
if [ "${NOMBRE_CLIENTE}" == "HostA"  ]
then
	TAP="tap64"
	HOST_IP="10.118.5.6"
	NETMASK="255.255.255.0"
	PORT_NUM="14258"
	DNS_IP="10.118.5.7"

elif [ "${NOMBRE_CLIENTE}" == "HostB" ]
then
	TAP="tap65"
	HOST_IP="10.19.3.35"
	NETMASK="255.255.255.224"
	PORT_NUM="14369"
	DNS_IP="10.19.2.4"

elif [ "${NOMBRE_CLIENTE}" == "HostC" ]
then
	TAP="tap66"
	HOST_IP="10.19.3.99"
	NETMASK="255.255.255.224"
	PORT_NUM="14147"
	DNS_IP="10.19.2.4"

else
	echo "El primer parametro debe ser: 'HostA', 'HostB' o 'HostC'"
	exit 1
fi

sudo chattr -i /etc/resolv.conf
sudo chmod 777 /etc/resolv.conf
echo "Agregando la direccion IP de DNS al archivo /etc/resolv.conf..."
echo "# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)" > /etc/resolv.conf
echo "#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN" >> /etc/resolv.conf
echo "domain stacruz.dc.fi.uba.ar" >> /etc/resolv.conf
echo "search stacruz.dc.fi.uba.ar" >> /etc/resolv.conf
echo "nameserver ${DNS_IP}" >> /etc/resolv.conf
sudo chmod 644 /etc/resolv.conf


#Crea una interfaz "tap" ethernet que va a ser usada por el tunel
sudo openvpn --mktun --dev ${TAP}
sudo ifconfig ${TAP} 0.0.0.0 promisc up

#Abre el tunel hacia IP_DST en otra ventana
gnome-terminal --title=${NOMBRE_CLIENTE} -x sudo openvpn --remote ${IP_DST} --port ${PORT_NUM} --dev ${TAP} --ifconfig ${HOST_IP} ${NETMASK}

